package cn.edu.lingnan.service;

import cn.edu.lingnan.user.dtos.*;
import cn.edu.lingnan.user.pojos.PageBean;
import cn.edu.lingnan.user.pojos.PageResult;
import cn.edu.lingnan.user.pojos.User;
import cn.edu.lingnan.user.vos.UserInfoVo;
import cn.edu.lingnan.user.vos.UserVO;
import jakarta.servlet.http.HttpServletResponse;

public interface UserService {

    PageBean getUserList(UserQueryDTO queryDTO);

    boolean deleteUserById(Integer userId);

    boolean updateUser(UpdateUserDTO updateUserDTO);


    boolean updateStatus(Integer userId, Integer status);

    void updateUserImage(Long userId, String url);

    UserVO getUserById(Integer userId);


    boolean addUser(AddUserDto addUserDto);

    void exportUsers(HttpServletResponse response, Integer type, String userName);

    UserInfoVo getPasswordByUserId(String userId);
    boolean updatePassword(UpdatePasswordDto updatePasswordDto);


    Result forgetPassword(ForgetPwdDto forgetPwdDto);
}
